<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Mdc\V20200828\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeStreamLinkFlows response structure.
 *
 * @method array getInfos() Obtain List of the configuration information of the flows
 * @method void setInfos(array $Infos) Set List of the configuration information of the flows
 * @method integer getPageNum() Obtain Number of the current page
 * @method void setPageNum(integer $PageNum) Set Number of the current page
 * @method integer getPageSize() Obtain Number of entries per page
 * @method void setPageSize(integer $PageSize) Set Number of entries per page
 * @method integer getTotalNum() Obtain Total number of entries
 * @method void setTotalNum(integer $TotalNum) Set Total number of entries
 * @method integer getTotalPage() Obtain Total number of pages
 * @method void setTotalPage(integer $TotalPage) Set Total number of pages
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeStreamLinkFlowsResponse extends AbstractModel
{
    /**
     * @var array List of the configuration information of the flows
     */
    public $Infos;

    /**
     * @var integer Number of the current page
     */
    public $PageNum;

    /**
     * @var integer Number of entries per page
     */
    public $PageSize;

    /**
     * @var integer Total number of entries
     */
    public $TotalNum;

    /**
     * @var integer Total number of pages
     */
    public $TotalPage;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param array $Infos List of the configuration information of the flows
     * @param integer $PageNum Number of the current page
     * @param integer $PageSize Number of entries per page
     * @param integer $TotalNum Total number of entries
     * @param integer $TotalPage Total number of pages
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("Infos",$param) and $param["Infos"] !== null) {
            $this->Infos = [];
            foreach ($param["Infos"] as $key => $value){
                $obj = new DescribeFlow();
                $obj->deserialize($value);
                array_push($this->Infos, $obj);
            }
        }

        if (array_key_exists("PageNum",$param) and $param["PageNum"] !== null) {
            $this->PageNum = $param["PageNum"];
        }

        if (array_key_exists("PageSize",$param) and $param["PageSize"] !== null) {
            $this->PageSize = $param["PageSize"];
        }

        if (array_key_exists("TotalNum",$param) and $param["TotalNum"] !== null) {
            $this->TotalNum = $param["TotalNum"];
        }

        if (array_key_exists("TotalPage",$param) and $param["TotalPage"] !== null) {
            $this->TotalPage = $param["TotalPage"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
